# 创建 build 和 output 目录（如果不存在）
if (!(Test-Path -Path ".\build")) {
    New-Item -ItemType Directory -Path ".\build"
}
if (!(Test-Path -Path ".\output")) {
    New-Item -ItemType Directory -Path ".\output"
}

# 清理旧的编译文件和输出
if (Test-Path -Path ".\build\*") {
    Remove-Item -Path ".\build\*" -Recurse -Force
}
if (Test-Path -Path ".\output\*.pdf") {
    Remove-Item -Path ".\output\*.pdf" -Force
}

# 编译 main.tex 两次以确保交叉引用正确
# 第一次编译
Write-Host "--- First Compilation Pass ---"
lualatex -synctex=1 -interaction=nonstopmode -file-line-error -recorder -output-directory="build" main.tex

# 第二次编译
Write-Host "--- Second Compilation Pass ---"
lualatex -synctex=1 -interaction=nonstopmode -file-line-error -recorder -output-directory="build" main.tex

# 移动并重命名最新 PDF 到 output 目录
if (Test-Path -Path ".\build\main.pdf") {
    Copy-Item -Path ".\build\main.pdf" -Destination ".\output\analysis.pdf"
    Write-Host "Successfully created .\output\analysis.pdf"
}
else {
    Write-Error "PDF generation failed. Check build/main.log for details."
}

# （可选）清理 build 目录下的其他文件
# Get-ChildItem -Path .\build -Exclude *.pdf | Remove-Item